package com.sofwin.service;

import com.github.pagehelper.PageInfo;
import com.sofwin.pojo.SysRole;

import java.util.List;

/**
 * @program: ssm-parent
 * @description: 处理角色业务
 * @author: Mr.Gao
 * @create: 2021-04-17 10:52
 **/
public interface RoleService {

   /**
   * @Author abiao
   * @Description 查询所有角色(SysUser用到)
   * @Date 2021/4/17 下午 5:26
   * @param
   * @return list 角色信息集合
   */
   List<SysRole> selectAllRoles();

    /**
     * 分页查询角色
     * @param role
     * @return
     */
    PageInfo<SysRole> selectRolesByPage(SysRole role, Integer pageNumber, Integer pageSize);

    /**
     * 通过id 用于处理批量删除和单个删除
     * @param ids
     * @return
     */
    boolean deleteByID(Integer[] ids);

    /**
     * 用于处理新增，编辑
     * @param id
     * @return
     */
    SysRole selectById(Integer id);

    /**
     * 用于处理新增，编辑
     * @param role
     * @return
     */
    boolean saveRole(SysRole role);

    /**
    *保存或取消角色对应的资源（权限）
    * @param roleId 角色ID
    * @param resourceId 资源ID
    * @param flag 0 取消权限 1 添加权限
    * @return
    */
    boolean savePermission(Integer roleId, Integer resourceId, Integer flag);


    boolean savePermissions(Integer roleId, Integer[] resourceIds);

}
